var app = getApp(); //全局APP
Page({
	data: {
		logo: app.config.shop_logo,
		open_id: "",
		buttonClicked: false
	},

	buttonClicked: function(self) {
		self.setData({
			buttonClicked: true
		})
		setTimeout(function() {
			self.setData({
				buttonClicked: false
			})
		}, 500)
	},

	//页面加载处理
	onLoad: function() {
		var page = this;
		this.getWxCode(function(code) {
			var data = {
				code: code
			};

			// 向服务端请求微信用户ID, 这里在前端不会暴露用户的真实OpenId
			app.api.login1(data, function(res) {
				if (!res.status) {
					app.common.successToShow(res.msg, function() {
						wx.navigateBack({
							delta: 1
						});
					});
				} else {
					page.setData({
						open_id: res.data,
						logo: app.config.shop_logo
					});
				}
			});
		});
	},
	handleRefuse() {
		wx.showToast({
			title: '未授权',
			icon: 'none',
			duration: 1000
		})
		setTimeout(() => {
			wx.navigateBack(-1)
		}, 1000)
	},

	//单纯的取得微信的code
	getWxCode: function(callback) {
		wx.login({
			success: function(res) {
				if (res.code) {
					callback(res.code);
					return res.code;
				} else {
					//wx.login成功，但是没有取到code
					app.common.errorToBack('未取得code', 0);
				}
			},
			fail: function(res) {
				//wx.login的fail
				app.common.errorToBack('用户授权失败wx.login', 0);
			}
		});
	},

	// 获取微信用户信息后的回调函数
	getUserInfo: function(e) {
		var page = this;
		if (e.detail.errMsg == 'getUserInfo:fail auth deny') {
			wx.showModal({
				title: '提示',
				showCancel: false,
				content: '未授权',
				success: function(res) {}
			})
		} else {
			// 成功授权，检查会话是否过期
			wx.checkSession({
				success: function() {
					var data = {
						open_id: page.data.open_id, // SuperCell后台wx用户ID
						iv: e.detail.iv, // 加密算法的初始向量
						edata: e.detail.encryptedData, // 包含敏感信息的用户信息, 是加密的
						signature: e.detail.signature // 用于校验用户信息是否无篡改
					};
					page.toLogin(data);
				},
				fail: function() {
					// session_key 已经失效，需要重新执行登录流程
					wx.login() //重新登录
				}
			})
		}
	},

	getUserProfile() {
		var page = this;
		
		page.buttonClicked(page);
		
		wx.getUserProfile({
			desc: '用于完善用户资料',
			success: (res) => {
				var data = {
					open_id: page.data.open_id, // SuperCell后台wx用户ID
					iv: res.iv, // 加密算法的初始向量
					edata: res.encryptedData, // 包含敏感信息的用户信息, 是加密的
					signature: res.signature // 用于校验用户信息是否无篡改
				};
				page.toLogin(data);
			},
			fail: res => {
				// session_key 已经失效，需要重新执行登录流程
				wx.login() //重新登录
			}
		})
	},

	// 调用账号绑定页面
	toLogin: function(data) {
		app.api.login2(data, function(res) {
			if (res.status) {
				//判断是否返回了token，如果没有，就说明没有绑定账号，跳转到绑定页面
				if (typeof res.data.token == 'undefined') {
					wx.redirectTo({
						url: '../level2/level2?user_wx_id=' + res.data.user_wx_id
					})
				} else {
					//登录成功，设置token，并返回上一页
					app.db.set('userToken', res.data.token);
					app.db.set('grade', res.grade);
					wx.navigateBack({
						delta: 1
					})
				}
			} else {
				wx.showModal({
					title: '提示',
					showCancel: false,
					content: '登录失败，请重试',
					success: function(res) {}
				})
			}
		});
	}
});
